package cn.com.surker.production.dao;

import cn.com.surker.production.entity.PumpDevice;
import cn.com.surker.production.entity.vo.PumpDeviceVo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 泵送设备表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-09-04
 */
public interface PumpDeviceDao extends BaseMapper<PumpDevice> {

	/**
	 * 查询站点上存在的泵送设备
	 *
	 * @param
	 * @return
	 */
	List<PumpDevice> findByOrg(Long orgId);

	/**
	 * 查询销售合同关联的泵送设备
	 *
	 * @param orgId     站点id
	 * @param saleConId 销售合同id
	 * @return
	 */
	List<PumpDevice> findBySaleCon(Long orgId, Long saleConId);

	/**
	 * 根据任务单,查询泵送设备
	 *
	 * @param indentId
	 * @return
	 */
	List<PumpDevice> findByIndentId(Long orgId, Long indentId);

	/**
	 * 查询完整的泵送设备信息
	 *
	 * @param tPage
	 * @param qw
	 * @return
	 */
	IPage<PumpDeviceVo> selectFullPage(Page<PumpDeviceVo> tPage, @Param(Constants.WRAPPER) QueryWrapper<PumpDevice> qw);
}
